Create all possible Permutations from a given numbersΒΆ

Create all possible permutations from a given collection of distinct numbers.
def permute(nums):
  result_perms = [[]]

  for n in nums:
    new_perms = []
    for perm in result_perms:
      for i in range(len(perm)+1):
        new_perms.append(perm[:i] + [n] + perm[i:])
        result_perms = new_perms

  return result_perms

my_nums = [1,2,3]

print("Original Cofllection: ",my_nums)
print("Collection of distinct numbers:\n",permute(my_nums))

Output:

Original Cofllection:  [1, 2, 3]
Collection of distinct numbers:
 [[3, 2, 1], [2, 3, 1], [2, 1, 3], [3, 1, 2], [1, 3, 2], [1, 2, 3]]